In recent years the global data communication network known as the Internet has experienced explosive growth. In conjunction with this growth, there has also been a substantial increase in the number of private networks that use protocols and standards similar to those used on the public Internet (i.e., Intranets). These Intranets are typically used by corporations and authorized users for the sharing of data and resources and utilize a Gateway (GW) as an interface between the Intranet and the Internet. Presently, many users of these Intranet networks and the Internet are experiencing severe communication constraints due to the inefficient handling of existing protocols and the overload of the network.
The Internet or Intranets are typically configured to utilize either the Transmission Control Protocol/Internet Protocol (TCP/IP) or User Datagram Protocol/Internet Protocol (UDP/IP) to establish the communication between a client that is using a Hyper Text Transfer Protocol (HTTP) Internet browser and HTTP servers, FTP servers or the like.
During typical operation of the Internet, a web server (such as an HTTP server) receives a content request from a client. The web server can respond to a client's HTTP request by transmitting a presentation language document to the client. The “presentation language” (or also referred to as P/L) document, regardless of the format and markup language used, defines the web page layout, fonts and graphic elements Active-X controls, JAVA scripts or applets, as well as the hypertext links to other web pages, sites or functions. Each link contains the URL (Universal Resource Locator), or address, of a web page on the same server or on any other server connected to the Intranet or the Internet.
The technical and functional aspects of HTTP, HTML and other P/L formats should be well known to those skilled in the art and, additional information on these subjects can be obtained by reviewing the “Internet Engineering Task Force” site www.ietf.org.
From now on the discloser of the present invention refers to HTML as an exemplary P/L.
A client, upon receiving an HTML page from a server, parses the HTML page and opens TCP connections to the hosting computers of the different objects. The communication protocols put limitations on the number of concurrent connections that a client's browser can open per host. For example, HTTP 1.1 limits the browser to two connections per host. HTTP 1.0 limits the browser to four connections per host. Therefore, if a source of several objects is the same host, the browser, in case of HTTP 1.1, can open only two connections at a time and requests those objects as sequential pairs of objects, a pair after the other, via these two connections. Sequential download of objects is not efficient, since a download of an object consist of two periods: (1) the negotiation time and (2) the object sending time. The negotiation time, at the sever side, is the time from sending the last bit of the previous object until the time of receiving the first bit of the following request. During this period, the server does nothing for the client. In a process of downloading a common page in a common Bandwidth (BW) of 1.5 KBps and objects with average size 1.2 KB, the negotiation time takes about 25% of the total time. FIG. 1 is a time diagram illustrating such a common download time of 8 objects using HTTP 1.1 with two TCP connections (TCP 1 & TCP 2) at a time between the client and the host. The negotiation time for the first and the second objects is between T0 to T1 (about 3 time units), then the transmitting of the first two objects is the time between T1 to T2 (about 10 time units). At the end of the transmitting of the first two objects a negotiation for the next two objects starts on T2 until T3 subsequently the transmitting of the two objects that took the time between T3 to T4 and this process continues to the end of the last two objects. The total time is about 52 time units. The size of a time unit depends on the properties of the network and it may be in the range of few milliseconds to few hundreds of milliseconds.
Using the same BW of the network but increasing the number of TCP connections to 8 connections enables the simultaneous download of these 8 objects and eliminates the negotiation time before each object. The download of each object will be longer than before (about 40 time units, due to the usage of the same BW) but the total download time of all 8 objects will be shorter (about 42 time units). FIG. 2 is a time diagram illustrating the same download of 8 objects using HTTP 1.1 but this time with 8 TCP connections.
Therefore there is a need for a system and a method that can reduce the download time of web based data by reducing the portion of the negotiation time. Such a system can increase the speed of the communication.